// 导入组件
import PageTools from '@/components/PageTools'

// 导入 Excel 组件
import UploadExcel from '@/components/UploadExcel'

// 导入 上传图片组件
import UploadImg from '@/components/UploadImg'

// 导入 头像默认图片组件
import ImageHolder from '@/components/ImageHolder'

// 导入多语言组件
import Lang from './Lang/index.vue'

// 导入全屏组件
import ScreenFull from './ScreenFull/index.vue'
// 创建数组，数组中是导入的组件模块
const components = [
  PageTools,
  UploadExcel,
  UploadImg,
  ImageHolder,
  Lang,
  ScreenFull
]

// 导出到main.js
export default {
  // 在 Vue.use 方法中创建一个 install 方法
  // 方法会被自动调用，在调用过程中，会将 Vue 作为参数（形参）传递 给 install 方法
  install(Vue) {
    // Vue.component('PageTools', PageTools) //'PageTools' 组件别名
    // 优化：
    // 对组件模块数组进行遍历
    // 回调函数形参，就是每一个组件
    components.forEach(component => {
      Vue.component(component.name, component)
    })
    // 第一个参数：component.name 声明的组件的 name 属性---别名
    // 第二个参数：组件具体的逻辑
  }
}
